package cn.wolfcode.luowowo2.article.service;

import cn.wolfcode.luowowo2.article.domain.Destination;
import cn.wolfcode.luowowo2.common.query.DestinationQueryObject;
import cn.wolfcode.luowowo2.common.query.QueryObject;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * Created by Albert on 2019/7/8.
 */
public interface IDestinationService {
    /**
     * 根据地区深度来获取地区列表
     * @param deep 深度值 int
     * @return 地区列表
     */
    List<Destination> getDestByDeep(Integer deep);

    /**
     * 根据地区id的数组返回地区对象列表
     * @param refIds 地区id数组
     * @return 地区列表
     */
    List<Destination> getDestByIds(Long[] refIds);

    PageInfo<Destination> query(DestinationQueryObject qo);

    void changeHotValue(Boolean hot, Long id);

    void setInfo(String info, Long id);

    void delete(Long id);

    List<Destination> getToastList(Long parentId);

    List<Destination> getHotDestByRegionId(Long[] destIds);

    Long[] getChildIdsByParentId(Long parentId);

    Destination get(Long id);

    Boolean isAbroad(Long id);

    Destination getCountry(Long id);

    Destination getProvince(Long id);

    List<Destination> list();

}
